<template>
    <!-- 标题区域 -->
    <van-nav-bar title="欢迎登录" fixed></van-nav-bar>
    <div style="height: 45px;"></div>
    <van-form @submit="onSubmit">
        <van-cell-group inset>
            <van-field v-model="username" name="username" label="用户名" placeholder="用户名"
                :rules="[{ pattern, message: '请填写用户名' }]" />
            <van-field v-model="password" :type="status ? 'password' : 'text'" name="password" label="密码"
                placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]">
            </van-field>
            <van-field v-model="sms" center clearable label="短信验证码" placeholder="请输入短信验证码"
                :rules="[{ required: true, message: '请填写短信验证吗' }]">
                <template #button>
                    <van-button size="small" type="primary" @click="gosms" :disabled="time > 0 ? true : false">{{ time >
                        0 ? '剩余'+time+'秒':'发送验证码'}}</van-button>
                </template>
            </van-field>
        </van-cell-group>
        <div style="margin: 16px;">
            <van-button round block type="primary" native-type="submit">
                登录
            </van-button>
        </div>
    </van-form>
</template>

<script setup>
import { ref } from 'vue';
const username = ref('');
const password = ref('');
let pattern = /^1[3-9]\d{9}$/
const sms = ref('')
let timer;
let time = ref(0)
const gosms = () => {
    sms.value = Math.floor(Math.random() * 1000000)
    if (time.value > 0) return
    time.value = 10
    timer = setInterval(() => {
        time.value--
        if (time.value == 0) {
            clearInterval(timer)
        }
    }, 1000)
}

let status = ref(true)
import { LoginApi } from '@/api/api'
import { showSuccessToast, showFailToast } from 'vant';
import { useRouter } from 'vue-router'
const router  = useRouter()
const onSubmit = () => {
    LoginApi(username.value, password.value).then(res => {
        console.log('登录数据', res)
        if(res.data.code == 0){
            showSuccessToast('登录成功')
            localStorage.setItem('username', res.data.data.username)
            localStorage.setItem('token', res.data.data.token)
            router.push('/')
        }
    })
}

</script>

<style lang="scss" scoped></style>